<?php
/**
 * 商品柜api处理
 * User: luoxianhui
 * Date: 2022/9/4
 * Time: 16:23
 */
namespace app\common\library\cabinet;


class Cabinet extends Base
{

    // 商品柜配置
    private $config;


    /**
     * 构造函数
     * WxPay constructor.
     * @param $config
     */
    public function __construct($config = false)
    {
        parent::__construct();
        $this->config = $config;
        $this->config !== false && $this->setConfig($this->config['app_id'], $this->config['app_secret']);
    }


    /**
     * 查询是否在线    根据输入机台号判断设备是否在线。
     * @param $mac_id
     * @param number $type  返回类型 1 bool值  2字符串说明
     * @return bool|string
     */
    public function isOnline(string $mac_id, $type = 2){
        $url = $this->url.'/web/xiaowei/pdl_is_online';
        /*is_online	1：在线   0：离线	字符串
          address	机器位置
          Sim_account	流量卡余量*/
        $response = $this->post($url, 'mac_id='.$mac_id);
        $response = json_decode($response,true);
        if (empty($response['address'])) {
            return ($type == 1)? false: $response['msg'];
        }

        if ($type == 1) {
            return ($response['is_online'] == 1)? true : false;
        } else {
            return ($response['is_online'] == 1)? '在线' : '离线';
        }
    }

    /**
     *
     * @param int $mac_id
     * @param int $type
     * @return bool|string
     */
    public function machineDetail($mac_id){
        $url = $this->url.'/web/xiaowei/machine_detail';
        /*  code	状态码（1代表成功）	整数
            msg	提示信息	字符串
            goods	商品信息	字符串
            pic_ur	商品图片	字符串
            name	商品名称	字符串
            id	货道id	整型
            count	商品库存	整型
            unit_price	商品价格	字符串
            goodCode	商品编码	字符串*/
        $response = $this->post($url, 'mac_id='.$mac_id);
        $response = json_decode($response,true);

        return $response;
    }

    /***
     * 请求出货  根据输入商品编号和机台号进行出货。
     * @param $mac_id
     * @param $channel_id
     * @return mixed
     */
    public function openDoor($mac_id,$channel_id){
        $url = $this->url.'/web/xiaowei/pdl_out_good';
        $response = $this->post($url, 'mac_id='.$mac_id.'&channel_id='.$channel_id);
        $response = json_decode($response,true);
        return $response;
    }



}